package model.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * @author 清风明月
 * @Package model.annotation
 * @date 2025/6/26
 * @description 自定义缓存组件
 */
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@SuppressWarnings("all")
public @interface BreezeRedisCacheAnnotation {

    /**
     * rediskey的前缀
     */
    String KeyPrefix() default "breeze:";
    /**
     * rediskey的过期时间
     */
    long expire() default 2;
    /**
     * rediskey的过期时间单位
     */
    TimeUnit timeUnit() default TimeUnit.HOURS;

    /**
     * 是否缓存空值
     * @return
     */
    boolean isCacheNull() default true;


    /**
     * 占位符
     */
    String placeholder() default "";

}
